#ifndef __BSP_IIC_H
#define __BSP_IIC_H

#define IIC_SCL(x)		((x)>=1?(gpio_bit_set(GPIOC, GPIO_PIN_9)):(gpio_bit_reset(GPIOC, GPIO_PIN_9)))
#define IIC_SDA(x)		((x)>=1?(gpio_bit_set(GPIOA, GPIO_PIN_8)):(gpio_bit_reset(GPIOA, GPIO_PIN_8)))	
#define SDA_OUT       gpio_init(GPIOA, GPIO_MODE_OUT_OD, GPIO_OSPEED_50MHZ, GPIO_PIN_8)
#define SDA_IN       gpio_init(GPIOA, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_8)
#define SDA_READ     gpio_input_bit_get(GPIOA, GPIO_PIN_8)

void delay_us(uint16_t t);
void IIC_Init(void);
void IIC_Start(void);
void IIC_Stop(void);
u8 IIC_Wait_Ack(void);
void IIC_Ack(void);
void IIC_NAck(void);
void IIC_Send_Byte(u8 txd);
u8 IIC_Read_Byte(unsigned char ack);

#endif
